home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / dtk_demo.zip / DISKTYPE.C < prev    next >
C/C++ Source or Header  |  1991-09-12  |  2KB  |  61 lines

  1. /*  DISKTYPE.C
  2.  *  last mod.: 27-AUG-91
  3.  */
  4.  
  5. #include <STDIO.H>
  6. #include <STRING.H>
  7. #include <STDLIB.H>
  8. #include <L_STR.H>
  9. #include <L_DISK.H>
  10.  
  11. Str_ptr usage = "\nUse:  DISKTYPE drive_letter\n";
  12.  
  13. /*----------------------------*/
  14. void main(int argc, char **argv)
  15. {
  16. Uchar drive;
  17. Uchar buffer[20];
  18. int result;
  19. struct disk_free_t disk_free;   /*  see L_AUXSTR.H  */
  20.  
  21. if ( argc < 2 )
  22.     {
  23.     printf(usage);
  24.     exit(0);
  25.     }
  26.  
  27. strupr(argv[1]);
  28. drive = argv[1][0];
  29.  
  30. result = get_disk_free(drive,&disk_free);
  31. if ( result == -1 )
  32.     printf("Invalid drive or error with the disk in drive %c.\n",drive);
  33. else
  34.     {
  35.     printf("For the disk in drive %c:\n",drive);
  36.     printf("Sectors per cluster = %d\n",disk_free.sectors_per_cluster);
  37.     printf("Bytes per sector = %d\n",disk_free.bytes_per_sector);
  38.     printf("Bytes per cluster = %d\n",disk_free.bytes_per_cluster);
  39.     printf("Free bytes = %s\n",
  40.         sltoa_commas(disk_free.free_bytes,buffer));
  41.     printf("Free sectors = %s\n",
  42.         sltoa_commas(disk_free.free_sectors,buffer));
  43.     printf("Free clusters = %s\n",
  44.         ultoa_commas((Ulong)disk_free.free_clusters,buffer));
  45.     printf("Total clusters = %s\n",
  46.         ultoa_commas((Ulong)disk_free.total_clusters,buffer));
  47.     printf("The disk in drive %c: is a ",drive);
  48.     switch ( disk_type(drive) )
  49.         {
  50.         case _D_FIXEDDISK: printf("fixed (non-removable) disk.\n"); break;
  51.         case _D_360KB: printf("5.25\" 360Kb floppy disk.\n"); break;
  52.         case _D_12MB:  printf("5.25\" 1.2Mb floppy disk.\n"); break;
  53.         case _D_720KB: printf("3.5\" 720Kb floppy disk.\n"); break;
  54.         case _D_144MB: printf("3.5\" 1.44Mb floppy disk.\n"); break;
  55.         case _D_160KB: printf("5.25\" 160Kb floppy disk.\n"); break;
  56.         case _D_180KB: printf("5.25\" 180Kb floppy disk.\n"); break;
  57.         case _D_320KB: printf("5.25\" 320Kb floppy disk.\n"); break;
  58.         }
  59.     }
  60. }
  61.